Управление сервисом Такси

TaxiManager

Управление сервисом Такси.

class yandex_b2b_go.taxi.TaxiManager

Атрибут

  • TaxiOrderManager — управление заказами в Такси.

    order: TaxiOrderManager
    

TaxiOrderManager

Управление заказами в Такси.

class yandex_b2b_go.taxi.TaxiOrderManager

Атрибуты

  • TaxiActiveOrderManager — управление активными заказами.

    active: TaxiActiveOrderManager
    
  • TaxiOrderRoutestatsManager — управление информацией о предстоящей поездке.

    routestats: TaxiOrderRoutestatsManager
    
  • TaxiOrderFeedbackManager — управление отзывами о поездке.

    feedback: TaxiOrderFeedbackManager
    
  • TaxiOrderDestinationsManager — управление маршрутом поездки.

    destinations: TaxiOrderDestinationsManager
    
  • TaxiOrderStatusManager — управление статусом заказа.

    status: TaxiOrderStatusManager
    

Методы

  • get — получает информацию о заказе.
  • create — выдает роль менеджеру подразделения.
  • list — получает список заказов клиента.
  • cancel — отменяет заказ такси.

Get

Получает информацию о заказе.

async def get(
    self, 
    order_id:str
) -> TaxiOrderGetResponse:

Параметр

  • order_id — идентификатор заказа, по которому предоставляется информация.

В случае успешного выполнения возвращает класс TaxiOrderGetResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        order_info = await taxi_manager.order.get(
            order_id='885...7f2e',
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Create

Выдает роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.

async def create(
    self, 
    order: Order, 
    idempotency_token: uuid.UUID
) -> OrderCreateResponse:

Параметры

  • order — данные о заказе. Класс Order.
  • idempotency_token — токен идемпотентности. Строка формата UUID. Одному токену идемпотентности соответствует один заказ, для нового заказа нужно сгенерировать новый токен.

В случае успешного выполнения возвращает класс OrderCreateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio
import uuid

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
	idempotency_token=uuid.uuid4()
        order = typing.Order(
	    user_id='035...c71',
    	    route=[
		typing.RotePoint(
		    fullname='Москва',
		    geopoint=[37.562394, 55.792993],
		),
		typing.RotePoint(
		    fullname='Москва',
		    geopoint=[37.609479, 55.746943],
		),
	    ],
    	    class_tariff='econom',
    	    offer='edd...234',
    	    cost_center_values=[
		typing.CostCenter(
		    id='9af...12a',
    		    title='Цель поездки',
    		    value='по делам',
		),
	    ],
        )
        order_id = await taxi_manager.order.create(order=order, idempotency_token=idempotency_token)
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

List

Получает список заказов клиента.

async def list(
    self,
    limit: Optional[int] = None,
    offset: Optional[int] = None,
    since_datetime: Optional[str] = None,
    till_datetime: Optional[str] = None,
    sorting_field: Optional[SortingField] = None,
    sorting_direction: Optional[SortingDirection] = None,
) -> TaxiOrderListResponse:

Параметры

  • limit — количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.
  • offset — количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.
  • since_datetime — начальное время для фильтрации. Формат значений: YYYY-MM-DDThh:mm:ss±hh:mm.
  • till_datetime — конечное время для фильтрации. Формат значений: YYYY-MM-DDThh:mm:ss±hh:mm.
  • sorting_field — поле, по которому сортируется возвращаемый список заказов. Может принимать значения: due_date — по дате начала заказа (значение по умолчанию), finished_date — по дате окончания заказа.
  • sorting_direction — направление сортировки возвращаемого списка заказов. Может принимать значения: 1 — по возрастанию, -1 — по убыванию (значение по умолчанию).

В случае успешного выполнения возвращает класс TaxiOrderListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        orders = await taxi_manager.order.list(
            limit=5,
	    offset=0,
	    sorting_field='due_date',
	    sorting_direction=1,
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

Cancel

Отменяет заказ такси.

async def cancel(
    self, 
    order_id: str, 
    cancel_state: OrdersCancelRequest
) -> TaxiOrderCancelResponse:

Параметры

  • order_id — идентификатор отменяемого заказа.
  • cancel_state — актуальный статус возможности отмены. Возможные значения: free, paid, minimal. Статус можно получить из запроса Информация о заказе. Класс OrdersCancelRequest.

В случае успешного выполнения возвращает класс TaxiOrderCancelResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        status = await taxi_manager.order.cancel(
            order_id='07e4...b2f4',
	    state=typing.OrdersCancelRequest(
	        state=typing.TaxiOrderCancelRulesState.free
	    ),
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

TaxiActiveOrderManager

Управление активными заказами.

class yandex_b2b_go.taxi.TaxiActiveOrderManager

Метод

  • list — получает список активных заказов со статусами.

List

Получает список активных заказов со статусами.

async def list(
    self, 
    user_id: str
) -> TaxiActiveOrderListResponse:

Параметр

  • user_id — идентификатор сотрудника, чьи заказы нужно посмотреть.

В случае успешного выполнения возвращает класс TaxiActiveOrderListResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        active_orders = await taxi_manager.order.active.list(
            user_id='0354...3c71',
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

TaxiOrderRoutestatsManager

Управление информацией о предстоящей поездке.

class yandex_b2b_go.taxi.TaxiOrderRoutestatsManager

Метод

  • get — возвращает предварительную стоимость поездки для разных тарифов и создает оффер на поездку.

Get

Возвращает предварительную стоимость поездки для разных тарифов и создает оффер на поездку.

async def get(
    self, 
    order: OrderRequest
) -> TaxiOrderRoutestatsGetResponse:

Параметр

  • order — данные о заказе. Класс OrderRequest.

В случае успешного выполнения возвращает класс TaxiOrderRoutestatsGetResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        routestats = await taxi_manager.order.routestats.list(
            order=typing.OrderRequest(
		route=[
		    [37.593983, 55.738759],
		    [37.609479, 55.746943],
		],
		user_id='035...3c71',
	    ),
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

TaxiOrderFeedbackManager

Управление отзывами о поездке.

class yandex_b2b_go.taxi.TaxiOrderFeedbackManager

Метод

  • create — публикует отзыв о водителе.

Create

Публикует отзыв о водителе.

async def create(
    self, 
    order_id: str, 
    feedback: Feedback
) -> TaxiFeedbackCreateResponse:

Параметры

  • order_id — идентификатор заказа.
  • feedback — данные отзыва. Класс Feedback.

В случае успешного выполнения возвращает класс TaxiFeedbackCreateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        feedback_status = await taxi_manager.order.feedback.create(
	    order_id='035...3c71',
            feedback=typing.Feedback(
		rating=5,
		msg='хороший водитель',
	    ),
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

TaxiOrderDestinationsManager

Управление маршрутом поездки.

class yandex_b2b_go.taxi.TaxiOrderDestinationsManager

Метод

  • update — позволяет изменить точки маршрута, кроме начальной.

Update

Позволяет изменить точки маршрута, кроме начальной.

async def update(
    self,
    order_id: str,
    destinations: TaxiOrderDestinationsUpdateRequest,
) -> TaxiOrderDestinationsUpdateResponse:

Параметры

  • order_id — идентификатор заказа, для которого меняется маршрут.
  • destinations — данные об измененном маршруте. Класс TaxiOrderDestinationsUpdateRequest.

В случае успешного выполнения возвращает класс TaxiOrderDestinationsUpdateResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        changed_destinations = await taxi_manager.order.destinations.update(
            order_id='0354...3c71',
            destinations=typing.TaxiOrderDestinationsUpdateRequest(
                created_time='2022-02-09T22:50:34',
                destinations=[
                    typing.RoutePoint(
                    geopoint=[37.600296, 55.750379],
                    fullname='Гоголевский бульвар, 31с1',
                    ),
                ],
	        ),
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())

TaxiOrderStatusManager

Управление статусом заказа.

class yandex_b2b_go.taxi.TaxiOrderStatusManager

Метод

  • get — возвращает статус заказа и местонахождение машины, которая была назначена заказу.

Get

Возвращает статус заказа и местонахождение машины, которая была назначена заказу.

async def get(
    self, 
    order_id: str
) -> TaxiOrderStatusGetResponse:

Параметр

  • order_id — идентификатор отслеживаемого заказа.

В случае успешного выполнения возвращает класс TaxiOrderStatusGetResponse.

Если переданы неверные параметры, возвращает ошибку ValidationError.

Если код ответа не равен 200, возвращает ошибку ApiError.

Пример вызова

import asyncio

from yandex_b2b_go import Client
from yandex_b2b_go import TaxiManager
from yandex_b2b_go import typing, errors

TOKEN = '<ваш токен>'


async def main():
    client = Client(token=TOKEN)
    taxi_manager = TaxiManager(client=client)
    try:
        order_status = await taxi_manager.order.status.get(
            order_id='0354...3c71'
        )
        ...
    except errors.ValidationError as e:
        return str(e.args)
    except errors.ApiError as e:
        return e

asyncio.run(main())
Предыдущая
Следующая